
let reg = {}

/* 
 * 传入两个时间格式的字符串 或者时间对象，如果传入是数字，默认做为时间戳
 * 返回值如下
 * 1    第一个时间 > 第二个时间
 * 0    第一个时间 = 第二个时间
 * -1   第一个时间 < 第二个时间
*/
reg.dateStrDiff = (date1, date2) => {
    var t1, t2;
    if (typeof (date1) == "object")
        t1 = date1.getTime();
    else if (typeof (date1) == "number")
        t1 = date1
    else {
        date1 = date1.replace(/\-/g, "/");
        t1 = Date.parse(date1);

    }
    if (typeof (date2) == "object")
        t2 = date2.getTime();
    else if (typeof (date2) == "number")
        t2 = date2
    else {
        date2 = date2.replace(/\-/g, "/");
        t2 = Date.parse(date2);
    }
    var i = t1 - t2;
    return i == 0 ? 0 : i > 0 ? 1 : -1;
}

// 添加正则表达式验证
// type 为类型 code 为代码
reg.IdCode = (type, code) => {
    switch (type) {
        case 0:
            // 其它
            return [];
        case 1:
            //身份证
            return /(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(code) ? [] : ["身份证格式不正确"];
        case 2:
            // 护照
            return /^[a-zA-Z0-9]{3,21}$/.test(code) || /^(P\d{7})|(G\d{8})$/.test(code) ? [] : ["证件格式不正确"];
        case 3:
            // 驾照
            return /(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(code) ? [] : ["证件格式不正确"];
        case 4:
            // 军官证或士兵证 
            return /^[a-zA-Z0-9]{7,21}$/.test(code) ? [] : ["证件格式不正确"];
        case 5:
            // 港澳回归证 和 台胞证
            return /^[a-zA-Z0-9]{5,21}$/.test(code) ? [] : ["证件格式不正确"];
        case 6:
            // 出生证 
            return /^[a-zA-Z0-9]{5,21}$/.test(code) ? [] : ["证件格式不正确"];
        case 7:
            // 户口本 
            return /^[a-zA-Z0-9]{3,21}$/.test(code) ? [] : ["证件格式不正确"];
        default:
            return ["无法验证证件号"];
    }

}
export default reg;